Sip parser/genesys-sip parser-to parse sip telephony events and decrypt the userdata in ip telephony

ABSTRACT

A tangible computer-readable medium encoded with an executable computer program for retrieving information from an internet protocol network is provided. The internet protocol network includes a plurality of tangible session initiation protocol entities that exchange session initiation protocol events via the internet protocol network, wherein each of the plurality of tangible session initiation protocol entities store exchanged session initiation protocol events. The tangible computer-readable medium includes an accessing code segment that, when executed, accesses the exchanged session initiation protocol events that are stored in one of the tangible session initiation protocol entities. A parsing code segment, when executed, parses the exchanged session initiation protocol events that are stored in the one of the tangible session initiation protocol entities based on a parsing parameter. Thereafter, a reporting code segment, when executed, displays results of the parsing code segment on a display.

BACKGROUND

1. Field of the Disclosure

The present disclosure relates to parsing session initiation protocol(SIP) events that are stored in SIP entities. More particularly, thepresent disclosure relates to parsing both standard SIP events andGenesys Telephony Server Common Part (TSCP) specific events that arestored in SIP entities.

2. Background Information

SIP is a fairly new signaling protocol for establishing, managing, andterminating multimedia communication sessions, such as voice and videosessions, across packet-switched communication networks. SIP wasdesigned to provide a signaling and call setup protocol for apacket-switched communication network, such as an internet protocol (IP)network, that supports a superset of the call processing functions andfeatures that are present in the public switched telephone network.

Recently, there has been a gradual shift away from the traditionaltime-division multiplexing (TDM) voice networks to SIP-based IPnetworks. However, since the existing TDM networks will not be replacedby SIP-based IP networks overnight, the SIP-based IP networks have beendeveloped to integrate and interface with the TDM networks. As such,SIP-based IP networks are capable of supporting thousands of call eventsthat may have originated from either SIP call events via the IP networkor non-SIP call events via a TDM network.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows an exemplary general computer system that includes a set ofinstructions for retrieving information from an IP network;

FIG. 2 is a schematic of a communication network that includes anapparatus for retrieving information from an IP network, according to anaspect of the present disclosure; and

FIG. 3 is a flowchart of a method for retrieving information from an IPnetwork, according to an aspect of the present disclosure.

DETAILED DESCRIPTION

In view of the foregoing, the present disclosure, through one or more ofits various aspects, embodiments and/or specific features orsub-components, is thus intended to bring out one or more of theadvantages as specifically noted below.

According to an embodiment of the present disclosure, a tangiblecomputer-readable medium encoded with an executable computer program forretrieving information from an IP network is provided. The IP networkincludes a plurality of tangible SIP entities that exchange SIP eventsvia the IP network. Each of the plurality of tangible SIP entitiesstores exchanged SIP events. The tangible computer-readable mediumincludes: an accessing code segment that, when executed, accesses theexchanged SIP events that are stored in one of the tangible SIPentities; a parsing code segment that, when executed, parses theexchanged SIP events that are stored in the one of the tangible SIPentities based on a parsing parameter; and a reporting code segmentthat, when executed, displays results of the parsing code segment on adisplay.

According to one aspect of the present disclosure, the IP network is incommunication with a non-IP network via a tangible non-SIP entity thattransmits non-SIP events to the plurality of tangible SIP entities. Eachof the plurality of tangible SIP entities store received non-SIP events.The accessing code segment, when executed, accesses the exchanged SIPevents and the received non-SIP events that are stored in the one of thetangible SIP entities, and the parsing code segment, when executed,parses the exchanged SIP events and the received non-SIP events that arestored in the one of the tangible SIP entities.

According to another aspect of the present disclosure, the receivednon-SIP events include Genesys Telephony Server Common Part TelephoneLibrary events.

According to yet another aspect of the present disclosure, the one ofthe tangible SIP entities is a user agent.

According to still another aspect of the present disclosure, the one ofthe tangible SIP entities is one of a proxy server, a redirect server,and a registrar.

According to an additional aspect of the present disclosure, theaccessing code segment, when executed, accesses the exchanged SIP eventsand the received non-SIP events that are stored in each of the pluralityof tangible SIP entities, and the parsing code segment, when executed,parses the exchanged SIP events and the received non-SIP events that arestored in each of the plurality of tangible SIP entities based on theparsing parameter.

According to another aspect of the present disclosure, the parsing codesegment, when executed, parses the exchanged SIP events and the receivednon-SIP events based on the parsing parameter and determines specificdata for each of the exchanged SIP events and the received non-SIPevents that corresponds to the parsing parameter, and the reporting codesegment, when executed, displays the specific data for each of theexchanged SIP events and the received non-SIP events that corresponds tothe parsing parameter on the display.

According to yet another aspect of the present disclosure, the parsingcode segment, when executed, parses the exchanged SIP events and thereceived non-SIP events based on the parsing parameter and determinesgeneral data for the exchanged SIP events and the received non-SIPevents that correspond to the parsing parameter, and the reporting codesegment, when executed, displays the general data for the exchanged SIPevents and the received non-SIP events that correspond to the parsingparameter on the display.

According to still another aspect of the present disclosure, thetangible computer-readable medium further includes a prompting codesegment that, when executed, prompts, on the display, for the parsingparameter, and a receiving code segment that receives the parsingparameter via an input.

According to an additional aspect of the present disclosure, theaccessing code segment, the parsing code segment, and the reporting codesegment are platform independent.

According to another aspect of the present disclosure, each of theexchanged SIP events includes a start line, a header, and a body, andthe parsing code segment, when executed, parses the start line of eachof the exchanged SIP events that is stored in the one of the tangibleSIP entities based on the parsing parameter.

According to yet another aspect of the present disclosure, each of theexchanged SIP events includes a start line, a header, and a body, andthe parsing code segment, when executed, parses the header of each ofthe exchanged SIP events that is stored in the one of the tangible SIPentities based on the parsing parameter.

According to still another aspect of the present disclosure, each of theexchanged SIP events includes a start line, a header, and a body, andthe parsing code segment, when executed, parses the body of each of theexchanged SIP events that is stored in the one of the tangible SIPentities based on the parsing parameter.

According to another embodiment of the present disclosure, a method forretrieving information from an IP network is provided. The IP networkincludes a plurality of tangible SIP entities that exchange SIP eventsvia the IP network. Each of the plurality of tangible SIP entities storeexchanged SIP events. The method includes: accessing the exchanged SIPevents that are stored in one of the tangible SIP entities; parsing theexchanged SIP events that are stored in the one of the tangible SIPentities based on a parsing parameter; and displaying the results of theparsing the exchanged SIP events on a display.

According to one aspect of the present disclosure, the IP network is incommunication with a non-IP network via a tangible non-SIP entity thattransmits non-SIP events to the plurality of tangible SIP entities. Eachof the plurality of tangible SIP entities stores received non-SIPevents. The exchanged SIP events and the received non-SIP events thatare stored in the one of the tangible SIP entities are accessed. Theexchanged SIP events and the received non-SIP events that are stored inthe one of the tangible SIP entities are parsed based on the parsingparameter. Thereafter, the results of parsing the exchanged SIP eventsand the received non-SIP events are displayed on the display.

According to an additional aspect of the present disclosure, thereceived non-SIP events include Genesys Telephony Server Common PartTelephone Library events.

According to another aspect of the present disclosure, the methodfurther includes prompting, on the display, for the parsing parameter,and receiving, via an input, the parsing parameter.

According to another embodiment of the present disclosure, an apparatusfor retrieving information from an IP network is provided. The IPnetwork includes a plurality of tangible SIP entities that exchange SIPevents via the IP network. Each of the plurality of tangible SIPentities store exchanged SIP events. The apparatus includes: a prompterthat prompts, on a display, for a parsing parameter; a receiver thatreceives the parsing parameter; an accesser that accesses the exchangedSIP events that are stored in one of the tangible SIP entities; a parserthat parses the exchanged SIP events that are stored in the one of thetangible SIP entities based on the parsing parameter; and a displayerthat displays, on the display, results of the parser.

According to one aspect of the present disclosure, the IP network is incommunication with a non-IP network via a tangible non-SIP entity thattransmits non-SIP events to the plurality of tangible SIP entities. Eachof the plurality of tangible SIP entities store received non-SIP events.The accesser accesses the exchanged SIP events and the received non-SIPevents that are stored in the one of the tangible SIP entities. Theparser parses the exchanged SIP events and the received non-SIP eventsthat are stored in the one of the tangible SIP entities based on theparsing parameter.

According to an additional aspect of the present disclosure, thereceived non-SIP events include Genesys Telephony Server Common PartTelephone Library events.

FIG. 1 is an illustrative embodiment of a general computer system, onwhich a method to provide a Genesys-SIP parser for parsing SIP telephonyevents and decrypting user data in IP telephony can be implemented,which is shown and is designated 100. The computer system 100 caninclude a set of instructions that can be executed to cause the computersystem 100 to perform any one or more of the methods or computer basedfunctions disclosed herein. The computer system 100 may operate as astandalone device or may be connected, for example, using a network 101,to other computer systems or peripheral devices.

In a networked deployment, the computer system may operate in thecapacity of a server or as a client user computer in a server-clientuser network environment, or as a peer computer system in a peer-to-peer(or distributed) network environment. The computer system 100 can alsobe implemented as or incorporated into various devices, such as apersonal computer (PC), a tablet PC, a set-top box (STB), a personaldigital assistant (PDA), a mobile device, a global positioning satellite(GPS) device, a palmtop computer, a laptop computer, a desktop computer,a communications device, a wireless telephone, a land-line telephone, acontrol system, a camera, a scanner, a facsimile machine, a printer, apager, a personal trusted device, a web appliance, a network router,switch or bridge, or any other machine capable of executing a set ofinstructions (sequential or otherwise) that specify actions to be takenby that machine. In a particular embodiment, the computer system 100 canbe implemented using electronic devices that provide voice, video ordata communication. Further, while a single computer system 100 isillustrated, the term “system” shall also be taken to include anycollection of systems or sub-systems that individually or jointlyexecute a set, or multiple sets, of instructions to perform one or morecomputer functions.

As illustrated in FIG. 1, the computer system 100 may include aprocessor 110, for example, a central processing unit (CPU), a graphicsprocessing unit (GPU), or both. Moreover, the computer system 100 caninclude a main memory 120 and a static memory 130 that can communicatewith each other via a bus 108. As shown, the computer system 100 mayfurther include a video display unit 150, such as a liquid crystaldisplay (LCD), an organic light emitting diode (OLED), a flat paneldisplay, a solid state display, or a cathode ray tube (CRT).Additionally, the computer system 100 may include an input device 160,such as a keyboard, and a cursor control device 170, such as a mouse.The computer system 100 can also include a disk drive unit 180, a signalgeneration device 190, such as a speaker or remote control, and anetwork interface device 140.

In a particular embodiment, as depicted in FIG. 1, the disk drive unit180 may include a computer-readable medium 182 in which one or more setsof instructions 184, e.g. software, can be embedded. A computer-readablemedium 182 is a tangible article of manufacture, from which sets ofinstructions 184 can be read. Further, the instructions 184 may embodyone or more of the methods or logic as described herein. In a particularembodiment, the instructions 184 may reside completely, or at leastpartially, within the main memory 120, the static memory 130, and/orwithin the processor 110 during execution by the computer system 100.The main memory 120 and the processor 110 also may includecomputer-readable media.

In an alternative embodiment, dedicated hardware implementations, suchas application specific integrated circuits, programmable logic arraysand other hardware devices, can be constructed to implement one or moreof the methods described herein. Applications that may include theapparatus and systems of various embodiments can broadly include avariety of electronic and computer systems. One or more embodimentsdescribed herein may implement functions using two or more specificinterconnected hardware modules or devices with related control and datasignals that can be communicated between and through the modules, or asportions of an application-specific integrated circuit. Accordingly, thepresent system encompasses software, firmware, and hardwareimplementations.

In accordance with various embodiments of the present disclosure, themethods described herein may be implemented by software programsexecutable by a computer system. Further, in an exemplary, non-limitedembodiment, implementations can include distributed processing,component/object distributed processing, and parallel processing.Alternatively, virtual computer system processing can be constructed toimplement one or more of the methods or functionality as describedherein.

The present disclosure contemplates a computer-readable medium 182 thatincludes instructions 184 or receives and executes instructions 184responsive to a propagated signal, so that a device connected to anetwork 101 can communicate voice, video or data over the network 101.Further, the instructions 184 may be transmitted or received over thenetwork 101 via the network interface device 140.

FIG. 2 provides a schematic of a communication network that includes anapparatus 200 for retrieving information from an IP network 202. The IPnetwork 202 includes a plurality of tangible SIP entities 204, 206, 208,210, such as, but not limited to, IP telephones 204, a proxy server 206,a redirect server 208, and a registrar 210. The tangible IP entities204, 206, 208, 210 exchange SIP events via the IP network 202 toinitiate, manage, and terminate communication sessions. Each of thetangible SIP entities 204, 206, 208, 210 store exchanged SIP events.

The apparatus 200 includes a prompter 212 that prompts, on a display214, for a parsing parameter. The parsing parameter may be any parameterthat is contained within or associated with the SIP events. For example,the parsing parameter may be, but is not limited to, the response type,response code, call construction, media masks and flags, call parties,call events and detail records, telephony events, call moving messages,inter server call control messages and sessions between the tangible SIPentities. Of course, those skilled in the art appreciate that theparsing parameter may also be any combination of parameters containedwithin the SIP events.

A receiver 216 of the apparatus 200 receives the parsing parameter froman input 218. The input 218 is shown in FIG. 2 as being a keyboard,however, those skilled in the art appreciate that an additional, oralternative, input 218 may also be used, such as a microphone.

After the parsing parameter is received, an accesser 220 accesses theexchanged SIP events that are stored in one of the tangible SIP entities204, 206, 208, 210. In an embodiment of the present application, theaccesser 220 may access the exchanged SIP events that are stored in auser agent, such as the IP telephones 204 as shown in FIG. 2. The useragent may be a user agent client that initiates a SIP request or a useragent server that receives and responds to a SIP request. In FIG. 2, theuser agents are shown as IP telephones, however, those skilled in theart appreciate that the user agents may be alternative devices, such as,but not limited to, workstations, telephony gateways, call agents,automated answering services, etc. In an alternative embodiment of thepresent application, the accesser 220 may access the exchanged SIPevents that are stored in one of the proxy server 206, the redirectserver 208, and the registrar 210. In the embodiments described above,the accesser 220 access the exchanged SIP events stored in a singletangible SIP entity 204, 206, 208, 210. However, in alternativeembodiments of the apparatus 200, the accesser 220 may access theexchanged SIP events that are stored in multiple tangible SIP entities204, 206, 208, 210 or the accesser 200 may access the exchanged SIPevents that are stored in all of the tangible SIP entities 204, 206,208, 210.

A parser 222 of the apparatus 200 parses the exchanged SIP events thatare stored in the accessed tangible SIP entity 204, 206, 208, 210 basedon the parsing parameter. In an embodiment of the apparatus 200, theparser 222 may parse a start line of each of the exchanged SIP events.In alternative embodiments of the apparatus 200, the parser may parse aheader or a body of the exchanged SIP events. Of course, those skilledin the art appreciate that in even further embodiments of the apparatus200, the parser 222 may parse multiple ones of the start line, theheader, and the body of each exchanged SIP event.

In an embodiment of the apparatus 200, the parser 222 may parse eachexchanged SIP event to determine specific data for each of the exchangedSIP events that corresponds to the parsing parameter. In an alternativeembodiment of the apparatus 200, the parser 222 may parse the exchangedSIP events based on the parsing parameter to determine general data forthe exchanged SIP events that corresponds to the parsing parameter.

The apparatus 200 further includes a displayer 224 that displays theresults of the parser 222 on a display 214. The display 214 is shown inFIG. 2 as being a monitor, however, those skilled in the art appreciatethat other displays could also be used.

In the embodiment of the present application as shown in FIG. 2, the IPnetwork 202 is in communication with a non-IP network 226 via a tangiblenon-SIP entity 228 that transmits non-SIP events to the plurality oftangible SIP entities 204, 206, 208, 210. The non-IP network 226 may beany circuit-switched network, such as, but not limited to, a publicswitched telephone network. The non-SIP entity 228 may be any entity forcircuit-switched communication such as, but not limited to, a TDMswitch. The non-SIP entity 228 is adapted to transmit the non-SIPevents, such as control signals for a call, between the IP telephones204 and a non-IP telephone 230. Each of the tangible SIP entities 204,206, 208, 210 stores received non-SIP events.

According to an embodiment of the apparatus 200 as shown in FIG. 2, theaccesser 220 access the exchanged SIP events and the received non-SIPevents that are stored in one of the tangible SIP entities 204, 206,208, 210. Thereafter, the parser 222 parses the exchanged SIP events andthe received non-SIP events that are stored in the one of the tangibleSIP entities 204, 206, 208, 210, and the displayer 224 displays theresults of the parser 222. In this regard, the apparatus 200 parses bothSIP events and non-SIP events.

In an embodiment of the apparatus 200 as described above, the non-SIPevents include Genesys TSCP Telephone Library (TLib) events. Genesysintegrates/interfaces with almost every kind of telephony switch,whether it is a TDM switch or a SIP switch. TDM switches generallygenerate non-SIP events when a call is moving on the switch, and GenesysTSCP TLib breaks the call elements into TSCP/TLib structure. In additionto parsing the SIP events, the parser 222 of the apparatus 200 works ontop of the TSCP/TLib structure to parase the non-SIP events.

As shown in FIG. 3, the present application further provides a methodfor retrieving information from an IP network 300. The IP networkincludes a plurality of tangible SIP entities that exchange SIP eventsvia the IP network, wherein each of the plurality of tangible SIPentities store exchanged SIP events. The method 300 includes prompting,on a display, for a parsing parameter at S302. Thereafter, the parsingparameter is received at S304.

After the parsing parameter is received at S304, the exchanged SIPevents that are stored in one of the tangible SIP entities are accessedat S306. The exchanged SIP events that are stored in the one of thetangible SIP entities are parsed based on the parsing parameter at S308.The results of parsing the exchanged SIP events are displayed on themonitor at S310.

In an embodiment of the method 300, the IP network is in communicationwith a non-IP network via a tangible non-SIP entity that transmitsnon-SIP events to the plurality of tangible SIP entities. Each of theplurality of tangible SIP entities store received non-SIP events.According to such an embodiment, the exchanged SIP events and thereceived non-SIP events that are stored in the one of the tangible SIPentities are accessed at step 306. Then, the exchanged SIP events andthe received non-SIP events that are stored in the one of the tangibleSIP entities are parsed based on the parsing parameter at S308.Thereafter, the results of parsing the exchanged SIP events and thereceived non-SIP events that are stored in the one of the tangible SIPentities are displayed on the display at S310. In an embodiment of theabove-described method, the received non-SIP events include Genesys TSCPTLib events.

The present application further provides a tangible computer-readablemedium encoded with an executable computer program for retrievinginformation from an IP network. The IP network includes a plurality oftangible SIP entities that exchange SIP events via the IP network,wherein each of the tangible SIP entities stores exchanged SIP events.

The tangible computer-readable medium includes an accessing code segmentthat, when executed, accesses the exchanged SIP events that are storedin one of the tangible SIP entities. In an embodiment of the tangiblecomputer-readable medium, the accessing code segment accesses theexchanged SIP events that are stored in a user agent, such as an IPtelephone. In an alternative embodiment of the tangiblecomputer-readable medium, the accessing code segment accesses theexchanged SIP events that are stored in one of a proxy server, aredirect server, and a registrar. In an even further embodiment, theaccessing code segment accesses the exchanged SIP events that are storedin a combination of SIP entities, such as user agents, proxy servers,redirect servers, and registrars.

The tangible computer-readable medium further includes a parsing codesegment that, when executed, parses the exchanged SIP events that arestored in the one of the tangible SIP entities based on a parsingparameter. The parsing code segment may parse any of, including anycombination of, a start line, a header, and a body of the exchanged SIPevents. Furthermore, the parsing code segment may determine specificdata for each of the exchanged SIP events that corresponds to theparsing parameter. Alternatively, the parsing code segment may determinegeneral data for the exchanged SIP events that corresponds to theparsing parameter.

After the parsing code segment parses the exchanged SIP events, areporting code segment, when executed, displays results of the parsingcode segment on a display. The display may be a monitor or any otherdisplay commonly known in the art.

In the embodiment of the tangible computer-readable medium, the IPnetwork is in communication with a non-IP network via a tangible non-SIPentity that transits non-SIP events to the plurality of tangible SIPentities. The non-IP network may be any circuit-switched network, suchas, but not limited to, a public switched telephone network. The non-SIPentity may be any entity for circuit-switched communication such as, butnot limited to, a TDM switch. The non-SIP entity is adapted to transmitthe non-SIP events, such as control signals for a call, between useragents, such as IP telephones, and non-IP devices, such as non-IPtelephones. Each of the tangible SIP entities stores received non-SIPevents.

According to the embodiment of the tangible computer-readable medium asdescribed above, the accessing code segment, when executed, accesses theexchanged SIP events and the received non-SIP events that are stored inthe one of the tangible SIP entities. Furthermore, the parsing codesegment, when executed, parses the exchanged SIP events and the receivednon-SIP events that are stored in the one of the tangible SIP entities.In this regard, the parsing code segment parses both standard SIP eventsand non-SIP events. In an exemplary embodiment of such a tangiblecomputer-readable medium as described above, the non-SIP events may be,for example, Genesys TSCP TLib events.

In an embodiment of the tangible computer-readable medium, the accessingcode segment, the parsing code segment, and the reporting code segmentare platform independent. As such, the code segments may be deployed onany platform, such as, but not limited to Unix and Windows servers. Inan exemplary embodiment of the tangible computer readable medium, thecode segments are coded in Perl so as to achieve platform independence.

An exemplary executable computer program that can be encoded on atangible computer-readable medium for retrieving information from an IPnetwork provides for parsing of standard SIP events as well as GenesysTSCP specific events. It finds specific call records or overall genericdata based on certain key parameters. The exemplary executable computerprogram parses either a SIP server of a SIP client/proxy. It parses outthe call construction, media masks and flags, call parties in the call,call events and call data records, telephony events, call movingmessages, inter service call control messages and sessions between theSIP server and the SIP client/proxy. It even works on applications likeFederation-Proxy, which is purely based on SIP communication withoutsourced vendors. The exemplary executable computer program works onpure SIP Server technology, hybrid SIP Server technology, and onGenesys-SIP suite. Furthermore, the exemplary executable computerprogram is independent of the vendors selling SIP telephony servers andis coded in Perl so it can be deployed on Unix as well as Windowsservers. Of course, those skilled in the art appreciate that theabove-described exemplary executable computer program is merely to beconsidered exemplary and is not to be considered limiting in any way.

Accordingly, the present invention enables parsing of standard SIPmessages/events and the Genesys TSCP specific events tied with SIPmessages. The present application parses out the SIP messaging/eventsfor telephony calls as well as the user data messaging and vendorGenesys TSCP specific events. As such, thousands of calls flowing acrossan IP network can be parsed to provide details of particular calls or ageneric overview of all calls. The present application can be used as areporting tool based on Genesys-SIP Telephony suite as well as atroubleshooting tool in a call center. Furthermore, the presentapplication can be used as an analysis tool as well as a call tracker.

Although the invention has been described with reference to severalexemplary embodiments, it is understood that the words that have beenused are words of description and illustration, rather than words oflimitation. Changes may be made within the purview of the appendedclaims, as presently stated and as amended, without departing from thescope and spirit of the invention in its aspects. Although the inventionhas been described with reference to particular means, materials andembodiments, the invention is not intended to be limited to theparticulars disclosed; rather the invention extends to all functionallyequivalent structures, methods, and uses such as are within the scope ofthe appended claims.

For example, the IP network as described herein may be a SIP network.Furthermore, the IP telephones as shown in FIG. 2 may be alternativeuser agents that are generally known and understood in the art.Additionally, the non-SIP events may include an additional, oralternative, suite of non-SIP events other than the Genesys TSCP suiteof events.

While the computer-readable medium is shown to be a single medium, theterm “computer-readable medium” includes a single medium or multiplemedia, such as a centralized or distributed database, and/or associatedcaches and servers that store one or more sets of instructions. The term“computer-readable medium” shall also include any medium that is capableof storing, encoding or carrying a set of instructions for execution bya processor or that cause a computer system to perform any one or moreof the methods or operations disclosed herein.

In a particular non-limiting, exemplary embodiment, thecomputer-readable medium can include a solid-state memory such as amemory card or other package that houses one or more non-volatileread-only memories. Further, the computer-readable medium can be arandom access memory or other volatile re-writable memory. Additionally,the computer-readable medium can include a magneto-optical or opticalmedium, such as a disk or tapes or other storage device to capturecarrier wave signals such as a signal communicated over a transmissionmedium. Accordingly, the disclosure is considered to include anycomputer-readable medium or other equivalents and successor media, inwhich data or instructions may be stored.

Although the present specification describes components and functionsthat may be implemented in particular embodiments with reference toparticular standards and protocols, the disclosure is not limited tosuch standards and protocols. For example, standards for Internet andother packet and circuit switched network transmission, such as theGenesys TSCP suite, represent examples of the state of the art. Suchstandards are periodically superseded by faster or more efficientequivalents having essentially the same functions. Accordingly,replacement standards and protocols having the same or similar functionsare considered equivalents thereof.

The illustrations of the embodiments described herein are intended toprovide a general understanding of the structure of the variousembodiments. The illustrations are not intended to serve as a completedescription of all of the elements and features of apparatus and systemsthat utilize the structures or methods described herein. Many otherembodiments may be apparent to those of skill in the art upon reviewingthe disclosure. Other embodiments may be utilized and derived from thedisclosure, such that structural and logical substitutions and changesmay be made without departing from the scope of the disclosure.Additionally, the illustrations are merely representational and may notbe drawn to scale. Certain proportions within the illustrations may beexaggerated, while other proportions may be minimized. Accordingly, thedisclosure and the figures are to be regarded as illustrative ratherthan restrictive.

One or more embodiments of the disclosure may be referred to herein,individually and/or collectively, by the term “invention” merely forconvenience and without intending to voluntarily limit the scope of thisapplication to any particular invention or inventive concept. Moreover,although specific embodiments have been illustrated and describedherein, it should be appreciated that any subsequent arrangementdesigned to achieve the same or similar purpose may be substituted forthe specific embodiments shown. This disclosure is intended to cover anyand all subsequent adaptations or variations of various embodiments.Combinations of the above embodiments, and other embodiments notspecifically described herein, will be apparent to those of skill in theart upon reviewing the description.

The Abstract of the Disclosure is provided to comply with 37 C.F.R.§1.72(b) and is submitted with the understanding that it will not beused to interpret or limit the scope or meaning of the claims. Inaddition, in the foregoing Detailed Description, various features may begrouped together or described in a single embodiment for the purpose ofstreamlining the disclosure. This disclosure is not to be interpreted asreflecting an intention that the claimed embodiments require morefeatures than are expressly recited in each claim. Rather, as thefollowing claims reflect, inventive subject matter may be directed toless than all of the features of any of the disclosed embodiments. Thus,the following claims are incorporated into the Detailed Description,with each claim standing on its own as defining separately claimedsubject matter.

The above disclosed subject matter is to be considered illustrative, andnot restrictive, and the appended claims are intended to cover all suchmodifications, enhancements, and other embodiments which fall within thetrue spirit and scope of the present disclosure. Thus, to the maximumextent allowed by law, the scope of the present disclosure is to bedetermined by the broadest permissible interpretation of the followingclaims and their equivalents, and shall not be restricted or limited bythe foregoing detailed description.

1. A tangible computer-readable medium encoded with an executablecomputer program for retrieving information from an internet protocolnetwork, the internet protocol network including a plurality of tangiblesession initiation protocol entities that exchange session initiationprotocol events via the internet protocol network, each of the pluralityof tangible session initiation protocol entities storing exchangedsession initiation protocol events, the tangible computer-readablemedium comprising: an accessing code segment that, when executed,accesses the exchanged session initiation protocol events that arestored in one of the tangible session initiation protocol entities; aparsing code segment that, when executed, parses the exchanged sessioninitiation protocol events that are stored in the one of the tangiblesession initiation protocol entities based on a parsing parameter; and areporting code segment that, when executed, displays results of theparsing code segment on a display.
 2. The tangible computer-readablemedium as set forth in claim 1, wherein the internet protocol network isin communication with a non-internet protocol network via a tangiblenon-session initiation protocol entity that transmits non-sessioninitiation protocol events to the plurality of tangible sessioninitiation protocol entities, each of the plurality of tangible sessioninitiation protocol entities storing received non-session initiationprotocol events, wherein the accessing code segment, when executed,accesses the exchanged session initiation protocol events and thereceived non-session initiation protocol events that are stored in theone of the tangible session initiation protocol entities, and whereinthe parsing code segment, when executed, parses the exchanged sessioninitiation protocol events and the received non-session initiationprotocol events that are stored in the one of the tangible sessioninitiation protocol entities.
 3. The tangible computer-readable mediumas set forth in claim 2, wherein the received non-session initiationprotocol events include Genesys Telephony Server Common Part TelephoneLibrary events.
 4. The tangible computer-readable medium as set forth inclaim 2, wherein the one of the tangible session initiation protocolentities is a user agent.
 5. The tangible computer-readable medium asset forth in claim 2, wherein the one of the tangible session initiationprotocol entities is one of a proxy server, a redirect server, and aregistrar.
 6. The tangible computer-readable medium as set forth inclaim 2, wherein the accessing code segment, when executed, accesses theexchanged session initiation protocol events and the receivednon-session initiation protocol events that are stored in each of theplurality of tangible session initiation protocol entities, and whereinthe parsing code segment, when executed, parses the exchanged sessioninitiation protocol events and the received non-session initiationprotocol events that are stored in each of the plurality of tangiblesession initiation protocol entities based on the parsing parameter. 7.The tangible computer-readable medium as set forth in claim 2, whereinthe parsing code segment, when executed, parses the exchanged sessioninitiation protocol events and the received non-session initiationprotocol events based on the parsing parameter and determines specificdata for each of the exchanged session initiation protocol events andthe received non-session initiation protocol events that corresponds tothe parsing parameter, and wherein the reporting code segment, whenexecuted, displays the specific data for each of the exchanged sessioninitiation protocol events and the received non-session initiationprotocol events that corresponds to the parsing parameter on thedisplay.
 8. The tangible computer-readable medium as set forth in claim2, wherein the parsing code segment, when executed, parses the exchangedsession initiation protocol events and the received non-sessioninitiation protocol events based on the parsing parameter and determinesgeneral data for the exchanged session initiation protocol events andthe received non-session initiation protocol events that correspond tothe parsing parameter, and wherein the reporting code segment, whenexecuted, displays the general data for the exchanged session initiationprotocol events and the received non-session initiation protocol eventsthat correspond to the parsing parameter on the display.
 9. The tangiblecomputer-readable medium as set forth in claim 2, further comprising: aprompting code segment that, when executed, prompts, on the display, forthe parsing parameter; and a receiving code segment that receives theparsing parameter via an input.
 10. The tangible computer-readablemedium as set forth in claim 1, wherein the accessing code segment, theparsing code segment, and the reporting code segment are platformindependent.
 11. The tangible computer-readable medium as set forth inclaim 1, wherein each of the exchanged session initiation protocolevents includes a start line, a header, and a body, and wherein theparsing code segment, when executed, parses the start line of each ofthe exchanged session initiation protocol events that is stored in theone of the tangible session initiation protocol entities based on theparsing parameter.
 12. The tangible computer-readable medium as setforth in claim 1, wherein each of the exchanged session initiationprotocol events includes a start line, a header, and a body, and whereinthe parsing code segment, when executed, parses the header of each ofthe exchanged session initiation protocol events that is stored in theone of the tangible session initiation protocol entities based on theparsing parameter.
 13. The tangible computer-readable medium as setforth in claim 1, wherein each of the exchanged session initiationprotocol events includes a start line, a header, and a body, and whereinthe parsing code segment, when executed, parses the body of each of theexchanged session initiation protocol events that is stored in the oneof the tangible session initiation protocol entities based on theparsing parameter.
 14. A method for retrieving information from aninternet protocol network, the internet protocol network including aplurality of tangible session initiation protocol entities that exchangesession initiation protocol events via the internet protocol network,each of the plurality of tangible session initiation protocol entitiesstoring exchanged session initiation protocol events, the methodcomprising: accessing the exchanged session initiation protocol eventsthat are stored in one of the tangible session initiation protocolentities; parsing the exchanged session initiation protocol events thatare stored in the one of the tangible session initiation protocolentities based on a parsing parameter; and displaying the results of theparsing the exchanged session initiation protocol events on a display.15. The method as set forth in claim 14, wherein the internet protocolnetwork is in communication with a non-internet protocol network via atangible non-session initiation protocol entity that transmitsnon-session initiation protocol events to the plurality of tangiblesession initiation protocol entities, each of the plurality of tangiblesession initiation protocol entities storing received non-sessioninitiation protocol events, wherein the exchanged session initiationprotocol events and the received non-session initiation protocol eventsthat are stored in the one of the tangible session initiation protocolentities are accessed, wherein the exchanged session initiation protocolevents and the received non-session initiation protocol events that arestored in the one of the tangible session initiation protocol entitiesare parsed based on the parsing parameter, and wherein the results ofparsing the exchanged session initiation protocol events and thereceived non-session initiation protocol events are displayed on thedisplay.
 16. The method as set forth in claim 15, wherein the receivednon-session initiation protocol events include Genesys Telephony ServerCommon Part Telephone Library events.
 17. The method as set forth inclaim 15, further comprising: prompting, on the display, for the parsingparameter; and receiving, via an input, the parsing parameter.
 18. Anapparatus for retrieving information from an internet protocol network,the internet protocol network including a plurality of tangible sessioninitiation protocol entities that exchange session initiation protocolevents via the internet protocol network, each of the plurality oftangible session initiation protocol entities storing exchanged sessioninitiation protocol events, the apparatus comprising: a prompter thatprompts, on a display, for a parsing parameter; a receiver that receivesthe parsing parameter; an accesser that accesses the exchanged sessioninitiation protocol events that are stored in one of the tangiblesession initiation protocol entities; a parser that parses the exchangedsession initiation protocol events that are stored in the one of thetangible session initiation protocol entities based on the parsingparameter; and a displayer that displays, on the display, results of theparser.
 19. The apparatus as set forth in claim 18, wherein the internetprotocol network is in communication with a non-internet protocolnetwork via a tangible non-session initiation protocol entity thattransmits non-session initiation protocol events to the plurality oftangible session initiation protocol entities, each of the plurality oftangible session initiation protocol entities storing receivednon-session initiation protocol events, wherein the accesser accessesthe exchanged session initiation protocol events and the receivednon-session initiation protocol events that are stored in the one of thetangible session initiation protocol entities, and wherein the parserparses the exchanged session initiation protocol events and the receivednon-session initiation protocol events that are stored in the one of thetangible session initiation protocol entities based on the parsingparameter.
 20. The apparatus as set forth in claim 19, wherein thereceived non-session initiation protocol events include GenesysTelephony Server Common Part Telephone Library events.